package com.smedi.ismedi.progress.api.dto.response;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.*;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author liaojiajie
 * @date 2022/9/20
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "进度看板 返参")
public class ProgressKanBanListResponse {
    /**
     * id
     */
    @ApiModelProperty(value = "主表id")
    private Long id;

    /**
     * 项目id
     */
    @ApiModelProperty(value = "项目id")
    private Integer projectId;

    /**
     * 项目名称
     */
    @ApiModelProperty(value = "项目名称")
    private String name;

    /**
     * 工程类别
     */
    @ApiModelProperty(value = "工程类别")
    private String engineerType;
    /**
     * 工程状态
     */
    @ApiModelProperty(value = "工程状态")
    private String engineerStatus;

    /**
     * 项目经理
     */
    @ApiModelProperty(value = "项目经理")
    private String generalManager;

    /**
     * 施工经理
     */
    @ApiModelProperty(value = "施工经理")
    private String constructManager;

    /**
     * 项目进度状态（0、滞后 1、正常 2、"-"）
     */
    @ApiModelProperty(value = "项目进度状态（0、滞后 1、正常 2、无状态)" )
    private Integer progressStatus;

    /**
     * 计划开始时间
     */
    @ApiModelProperty(value = "计划开始时间")
    private LocalDateTime scheduleStartTime;
    /**
     * 计划完成时间
     */
    @ApiModelProperty(value = "计划完成时间")
    private LocalDateTime scheduleEndTime;
    /**
     * 实际开始时间
     */
    @ApiModelProperty(value = "实际开始时间")
    private LocalDateTime realStartTime;
    /**
     * 实际完成时间
     */
    @ApiModelProperty(value = "实际完成时间")
    private LocalDateTime realEndTime;
    /**
     * 滞后时长(天，月，年)
     */
    @ApiModelProperty(value = "滞后时长")
    private String lagTime;

    /**
     * 完成百分比
     */
    @ApiModelProperty(value = "完成百分比")
    private String percentage;

    /**
     * 照片文件信息
     */
    @ApiModelProperty(value = "照片文件信息")
    private List<FileResponse> photoFile;
}
